package com.cs.paoyer.common; 

//import javax.ejb.EJBObject;
import javax.naming.Context;
import javax.naming.InitialContext;
//import javax.rmi.PortableRemoteObject;
//import java.util.Properties;
//import java.util.Hashtable;
//import java.rmi.RemoteException;
//
//import com.cs.paoyer.common.exception.UserException;
//import com.cs.paoyer.common.exception.SystemException;
//import com.cs.paoyer.common.util.PropertiesLoader;

/**
 * Provee los servicios de localizacion de componentes de negocio 
 * de los m�dulos.
 *
 * @version 0.9
 */
public class ServiceLocator 
{

   Context context = null;
 
  /**
   * Obtiene una referencia al servidor JNDI del servidor de aplicaciones
   * donde se encuentran registrados las interfaces Home de los componentes
   * Facade.
   *
   * @return Referencia al servidor JNDI.
   * @throws java.lang.Exception Se levanta cuando ocurre un problema al conectarse
   *                             al registro de componentes.
   */
  public Context getIASInitialContext() throws Exception 
	{

			try 
			{
					/*PropertiesLoader p = PropertiesLoader.getInstance();
      
					Hashtable env = new Hashtable();
					env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
					env.put(Context.SECURITY_PRINCIPAL,      p.getProperty("RMI_APPLICATION_USER"));
					env.put(Context.SECURITY_CREDENTIALS,    p.getProperty("RMI_APPLICATION_USER_CREDENTIALS"));
					env.put("dedicated.connection",          "true");
					env.put(Context.PROVIDER_URL,            p.getProperty("PROVIDER_APPLICATION_URL"));*/
					return new InitialContext();

			}
			catch(Exception e) 
			{
				System.err.println("/******** TDSUB - cwsub");
				e.printStackTrace();
				System.err.println("TDSUB - cwsub ********/");
				throw e;
			}
  }


  public void Destroy() {
    try{
      context.close();
      context = null;
    }
    catch (Exception ex){
		System.err.println("/******** TDSUB - cwsub");
		ex.printStackTrace();
		System.err.println("TDSUB - cwsub ********/");
    }
  }
}
